import chinaBounds from '@static/json/bounds-china.json'

// 全局常量类
const globalConst = {
  // 屏幕初始设计适配尺寸
  screenOriginalDesignSize: {
    width: 1920, // 宽度
    height: 1080 // 高度
  },
  // 全局区划称谓相关设定
  aboutDistrictAppellation: {
    currentLevelAppellation: '东营市', // 本级称谓
    currentLevelAbbreviation: '东营', // 本级简称
    lowerLevelGeneralName: '区县' // 下级总称
  },
  // 系统部署环境标识类型配置
  deployUrlMarkType: {
    governmentalExtranet: 1,
    specialGovernmentalExtranet: 2
  },
  // 系统部署环境标识数组
  deployUrlMark: [
    {
      name: '政务外网1',
      type: 'governmentalExtranet',
      mark: '59.*'
    },
    {
      name: '政务外网2',
      type: 'governmentalExtranet',
      mark: '172.*'
    },
    {
      name: '政务外网3(可访问互联网)',
      type: 'specialGovernmentalExtranet',
      mark: '10.2.*'
    }
  ],
  // 地图配置参数对象
  mapConfigInfo: {
    // 地图展示效果配置
    effectConfig: {
      // 四至边距
      margin: {
        top: '0px',
        right: '0px',
        bottom: '0px',
        left: '0px'
      },
      // 地图遮罩(mask)配置
      maskConfig: {
        loading: {
          color: '#0d76f233' // loading遮罩颜色
        },
        top: {
          show: true,
          width: '100%',
          height: '0px',
          color: '#3682e0' // 线性径向渐变起始颜色(支持配置多种颜色[使用(,)半角逗号分隔]。注意：配置的结束颜色为渐变起始颜色，由配置的结束颜色向配置的开始颜色渐变过渡)
        },
        right: {
          show: true,
          width: '0px',
          height: '100%',
          color: '#1e6ebf'
        },
        bottom: {
          show: true,
          width: '100%',
          height: '0px',
          color: '#3682e0'
        },
        left: {
          show: true,
          width: '0px',
          height: '100%',
          color: '#1e6ebf'
        }
      },
      // 地图部件四周空隙留白(padding)配置
      componentPaddingConfig: {
        top: '120px',
        right: '485px',
        bottom: '50px',
        left: '485px'
      },
      // 地图popup配置
      popupConfig: {
        type: 1, // popup展示类型配置
        width: 800, // popup宽度配置
        // popup边距配置
        margin: {
          right: 45,
          left: 40
        },
        // popup操作按钮配置
        button: {
          isAggregatedButtonShow: true, // 聚合类按钮展示状态配置
          isSingleButtonShow: true, // 单体类按钮展示状态配置
          // 单体通用按钮展示状态配置
          singleGeneralButtonShow: {
            commandAndDeployButton: true, // 指挥调度按钮展示状态配置
            voiceCallButton: true // 语音通话按钮展示状态配置
          },
          // 单体按钮间边(间)距配置
          singleButtonMargin: {
            right: 35,
            left: 35
          }
        },
        // 需特殊处理字段自定义配置
        specialProcessingFieldCustomConfig: {
          telephoneNumberDesensitizeField: ['contact_phone', 'keeper_phone', 'lxdh', 'yddh', 'lxrbgdh', 'lxryddh', 'yjlxrbgdh', 'yjlxryddh', 'yjglrbgdh', 'yjglryddh', 'fzrbgdh', 'fzryddh'], // 电话号码脱敏处理字段
          imageConvertFields: {
            urlField: ['imgUrl'], // 图片展示转换处理字段(url类型)
            base64Field: ['imgBase64'] // 图片展示转换处理字段(base64类型)
          }
        }
      },
      // 地图兴趣点配置
      poiConfig: {
        width: 80,
        height: 80,
        label: {
          // 上部label
          top: {
            fontSize: 30,
            color: '#ffffff',
            fontFamily: '微软雅黑',
            fontWeight: 'normal', // 可用值：'normal'、'bold'
            spacing: 20
          },
          // 下部label
          bottom: {
            fontSize: 30,
            color: '#ffffff',
            fontFamily: '微软雅黑',
            fontWeight: 'bold', // 可用值：'normal'、'bold'
            spacing: 30
          }
        },
        // 兴趣点聚合点
        cluster: {
          width: 120, // 聚合点宽度应配置为兴趣点宽度的1.5倍
          height: 120 // 聚合点高度应配置为兴趣点高度的1.5倍
        }
      }
    },
    // 地图交互配置
    interactConfig: {
      useAssociatedComponent: false, // 交互是否使用地图关联组件配置
      // 地图popup避免遮挡缓冲距离(与popup宽度配置正相关，两者配置调整时需注意协调)
      popupAvoidObstructBuffer: {
        lat: 0, // 纬度缓冲值配置
        lng: -0.00011 // 经度缓冲值配置
      },
      tileLoadProgressCriticalValue: 100 // 地图瓦片加载过程临界控制值配置(用于边界初始化加载时机控制)
    },
    // 基础配置
    basicConfig: {
      latTo2D: 37.418296, // 地图初始化中心纬度值(2D)
      lngTo2D: 118.669198, // 地图初始化中心经度值(2D)
      latTo3D: 37.418296, // 地图初始化中心纬度值(2.5D/3D)
      lngTo3D: 118.669198, // 地图初始化中心经度值(2.5D/3D)
      alt: 466.8, // 地图初始化高度值
      heading: 360, // 地图初始化旋转角度值
      pitch: -21.2, // 地图初始化倾斜角度值
      roll: 0, // 地图初始化翻滚角度值
      minZoom: 0, // 地图最小层级限制
      maxZoom: 18, // 地图最大层级限制
      scale: 400000 // 地图初始化比例值
    },
    // 三维地图相关属性配置
    mapWith3DAttributeConfig: {
      requestRenderMode: true, // 显式渲染配置
      globe: {
        baseColor: '#3682e0', // 背景颜色配置
        tileCacheSize: 50 // 预加载瓦片数量配置
      }
    },
    // 底图相关配置
    basemapConfig: {
      // 底图地图服务相关配置
      mapServiceConfig: {
        // 说明：底图地图服务根据网络类型(互联网、政务外网(内网))分别配置
        // 一、互联网环境下，支持配置的底图地图服务有：
        // ①天地图山东暗色地图服务(darkModeOfTianDiTuForShanDongProvince)、②天地图中国标准改暗色地图服务(darkenModeByStandardOfTianDiTuForCountry)③智图暗色地图服务(darkModeOfGeoQ)、、④高德标准改暗色地图服务(darkenModeByStandardOfGaoDe)、
        // ⑤天地图中国标准地图服务(standardModeOfTianDiTuForCountry)、⑥天地图山东标准地图服务(standardModeOfTianDiTuForShanDongProvince)、⑦高德标准地图服务(standardModeOfGaoDe)、
        // ⑧天地图中国影像地图服务(satelliteImageryModeOfTianDiTuForCountry)、⑨天地图山东影像地图服务(satelliteImageryModeOfTianDiTuForShanDongProvince)、⑩高德影像地图服务(satelliteImageryModeOfGaoDe)、⑪星图地球影像地图服务(satelliteImageryModeOfGeovisEarth)、
        // ⑫天地图中国地形地图服务(terrainModeOfTianDiTuForCountry)
        // 二、政务外网(内网)环境下，支持配置的底图地图服务有：
        // ①(天地图山东)暗色地图服务(darkModeOfTianDiTuForShanDongProvince)、②(天地图中国)标准改暗色地图服务(darkenModeByStandardOfTianDiTuForCountry)、③(天地图中国)标准地图服务(standardModeOfTianDiTuForCountry)、
        // ④(天地图中国)影像地图服务(satelliteImageryModeOfTianDiTuForCountry)、⑤(天地图中国)地形地图服务(terrainModeOfTianDiTuForCountry)
        // 三、底图地图服务配置结构：
        // 1.采用底图地图服务标识(需保持唯一性)和底图地图服务属性的键值对形式进行外层组装(如：darkModeOfTianDiTuForShanDongProvince：{})
        // 2.底图地图服务属性包含名称(name)、类型识别值(value)、可见性(enable)、服务配置(serviceConfig)，其中，name、value、enable为必需项，serviceConfig为非必须项(若对serviceConfig无特殊配置，可省略)
        // 3.name对应值可自定义配置，其配置值将用于通用地图组件底图切换微件底图名称展示
        // 4.value对应值可按照规则(匹配通用地图组件内部定义的各类底图图标)自定义配置
        // 4-1.配置规则：①暗色类地图服务请使用2或者不小于20且小于30(2||20<=x<30)的数值(可使用小数)配置；②标准类地图服务请使用3或者不小于30且小于40(3||30<=x<40)的数值(可使用小数)配置；③影像类地图服务请使用4或者不小于40且小于50(4||40<=x<50)的数值(可使用小数)配置；④地形类地图服务请使用5或者不小于50且小于60(5||50<=x<60)的数值(可使用小数)配置
        // 5.enable对应值可自定义配置，通用地图组件将根据该配置值动态生成底图资源供底图切换微件使用(true时，则生成对应底图资源；反之，则相反)，若配置为false，则该底图地图服务所有配置可省略
        // 6.serviceConfig对应值是地图服务相关配置，包含地图服务地址(url)、地图服务地址子域(subdomains)、地图服务认证秘钥(token)、其他配置(option)，前述四项属性均为非必须项
        // 7.url对应值可为两种形式：1.若地图服务只有单一图层时，url对应值为地图服务地址(如：url: '')；2.若地图服务有两个(底图(image)、标注(note))图层时，url对应值为该地图服务两个图层的地址(如：url: { image: '', note: '' })
        // 8.subdomains对应值应为配置为包含自定义配置的数组形式(如：subdomains: ['t0', 't1', 't2', 't3', 't4', 't5', 't6', 't7'])
        // 9.token对应值可为两种形式：1.若地图服务只有单一图层时，token对应值为地图服务认证秘钥(如：token: '')；2.若地图服务有两个(底图(image)、标注(note))图层时，token对应值为该地图服务两个图层的认证秘钥(如：token: { image: '123', note: '123' })，注：两个图层的认证秘钥可相同
        // 10.option为配置自定义地图相关样式，对应对象可两种形式：1.若地图服务只有单一图层时，token对应值为地图服务认证秘钥(如：option: {})；2.若地图服务有两个(底图(image)、标注(note))图层时，token对应值为该地图服务两个图层的认证秘钥(如：option: { image: {}, note: {} })
        // 10-1.option包含样式属性如下：1.invertColor(是否反色-boolean)；filterColor(滤镜颜色)；3.brightness(亮度)；4.contrast(对比度)；5.gamma(伽马校正值，取值为1.0时使用未修改的图像颜色)；6.hue(色调，取值为0.0时使用未修改的图像颜色)；7.saturation(饱和度)
        // 互联网相关地图服务
        mapServiceInInternet: {
          darkModeOfTianDiTuForShanDongProvince: {
            name: '天地图山东暗色',
            value: 2,
            enable: true
          },
          darkenModeByStandardOfTianDiTuForCountry: {
            name: '天地图中国标准改暗色',
            value: 20,
            enable: true
          },
          darkModeOfGeoQ: {
            name: '智图暗色',
            value: 21,
            enable: true
          },
          darkenModeByStandardOfGaoDe: {
            name: '高德标准改暗色',
            value: 22,
            enable: true
          },
          standardModeOfTianDiTuForCountry: {
            name: '天地图中国标准',
            value: 3,
            enable: true
          },
          standardModeOfTianDiTuForShanDongProvince: {
            name: '天地图山东标准',
            value: 31,
            enable: true
          },
          standardModeOfGaoDe: {
            name: '高德标准',
            value: 32,
            enable: true
          },
          satelliteImageryModeOfTianDiTuForCountry: {
            name: '天地图中国影像',
            value: 4,
            enable: true
          },
          satelliteImageryModeOfTianDiTuForShanDongProvince: {
            name: '天地图山东影像',
            value: 41,
            enable: true
          },
          satelliteImageryModeOfGaoDe: {
            name: '高德影像',
            value: 42,
            enable: true
          },
          satelliteImageryModeOfGeovisEarth: {
            name: '星图地球影像',
            value: 43,
            enable: true
          },
          terrainModeOfTianDiTuForCountry: {
            name: '天地图中国地形',
            value: 5,
            enable: true
          }
        },
        // 政务外网(内网)相关地图服务
        mapServiceInGovernmentExtranet: {
          darkModeOfTianDiTuForShanDongProvince: {
            name: '暗色地图',
            value: 2,
            enable: false
          },
          darkenModeByStandardOfTianDiTuForCountry: {
            name: '暗色地图',
            value: 20,
            enable: true
          },
          standardModeOfTianDiTuForCountry: {
            name: '标准地图',
            value: 3,
            enable: true
          },
          satelliteImageryModeOfTianDiTuForCountry: {
            name: '影像地图',
            value: 4,
            enable: true
          },
          terrainModeOfTianDiTuForCountry: {
            name: '地形地图',
            value: 5,
            enable: false
          }
        }
      },
      multiLayerStackingOrder: 0 // 多图层叠加顺序，可用值为：0-正序(先底图后注记)；1-倒序(先注记后底图)(地图服务存在多个图层[影像服务包含影像底图图层和注记图层]需要叠加完成展示时，由于地图展示尺寸不同，会导致注记图层被压盖的问题，而改变图层加载顺序，即可解决此问题，故配置此项，根据实际需要，进行个性化调整)
    },
    // 边界服务相关配置
    boundsServiceConfig: {
      // 全系列图层信息
      boundsLayerInfo: [
        [
          {
            type: 'json',
            json: chinaBounds,
            chinaCRS: 'GCJ02',
            opacity: 0.6
          }
        ] // 综治网格系列
      ],
      // 全系列图层与定义边界层级切换按钮序列对照关系(当前边界层级切换按钮序列为市域、片区、区县(市)、镇(乡)街、村社区、网格6级)，该参数应与boundsLayerInfo数组参数中配置的图层系列一一对应，对照关系配置值为：0-不存在图层信息，关系按钮配置隐藏；1-存在图层信息，关系按钮配置显示；-1-存在图层信息，但关系按钮配置隐藏
      relationOfBoundsLayerContrastedSwitchButton: [
        [0, 0, 0, 0, 0, 0]
      ]
    }
  }
}
export {
  globalConst
}
